package com.ddstation.onsitelaw.entity.auditentity;


import com.ddstation.onsitelaw.utils.InstitutionTypeUtil;

import java.io.Serializable;
import java.util.Date;

/**
 * dt_health_manage_institution 健康管理机构
 *
 * @author zhangdifeng
 * @date 2017年7月11日
 */
public class DtHealthManageInstitutionEntity implements Serializable {
    public final static long serialVersionUID = 1;

    private String id;
    private String name;
    private String shortName;
    private Integer province;
    private Integer city;
    private Integer county;
    private Object nullCounty;
    private String address; // 机构地址
    private String addressTxt;    //显示地址(小程序端)+省+市+区
    private String navAddress; // 导航地址（便于客户找到）
    private Integer dataIsolation;
    private Integer type; // 【授权状态】2：测试 0：试用1：正式
    //	private Integer paySt; // 【支付状态】0：未支付1：微信支付 2：支付宝支付3：银行卡支付4：券支付
//	private Integer certifiedMaterialSt; // 【认证材料状态】0：未提交 10：提交待认证 15：认证失败待再提交20：认证成功
    private Integer institutionType; // 1:诊所 2:医生 3:科室 4:医院 5:健康管理公司 6:医药公司 7:医疗器械 8:养老院 9:康复院10：其他
    private Integer institutionProp; //【机构性质】1：民营营利2：民营非营利3：公立4：其他
    private String businessLicence; // 营业执照
    private Integer medicalInsuranceFixedPoint; // 【是否医保定点】1：是2：否
    private Integer examineVerifySt;
    private Date examineVerifyTm;
    private String examineVerifyComment;

    // add 检验申请项目 start
//	private String mode;
    private Integer testApplySt;
    private Date testApplyTm;
    private String testApplyComment;
    // add 检验申请项目 end

    // add 检查申请项目 start------------------
    private Integer imagingApplyOpendSt;
    // add 检查申请项目 end------------------

    // add by zhangdifeng 20180503
    private String tel;
    private String ownerName;
    private String ownerId;
    private String ownerIdCd;
    private String businessLicenceCd;
    private String occupationalLicence;
    private String occupationalLicenceCd;
    private String position;//经纬度

    private String provinceYbArea; // 哪个省的医保
    private String provinceYbHospitalNb; // 省医保机构编码
    private String cityYbArea; // 哪个市的医保
    private String cityYbHospitalNb; // 市医保机构编码
    private String cityYbAreaSub; //地级市下各县市区分

    private Integer registerDoctorId;
    private Integer underInvs; // 医疗机构是否属于卫监监管
    private Integer uploadInvs;//卫监监管下机构异地登录是否上报
    private Integer underMs; // 医疗机构是否属于药监监管
    private Integer auditHint; // 是否提示审方结果
    private String technicalOffices; // 医疗机构诊疗科目:多个以逗号分隔
    private Integer invsTimeSet;    //卫监报告时间是否可设置 0:不可设置 1:可设置
    private Date occupationalLicenceStartDate;    //医疗机构职业许可证开始日期
    private Date occupationalLicenceEndDate;    //医疗机构职业许可证截止日期
    private String hospitalInsuranceRegion; //医疗机构所在地统筹区编码 病案首页上传时用

    private Integer paySt; // 账号支付Status
    private Date payTm; // 账号支付时间

    private Integer regulatoryCode; //是否无电子监管码销售 0:无码 1:有码

    private String ybIp; //湖州医保IP

    private Integer faceLogin; // 0:不用人脸登录 1:人脸登录

    private Date createTm;
    private Integer invsUnit;        //废物处理单位
    private Integer invsDisinfectantSet;    //是否需要污水余氯日常检测
    private Integer invsInstrumentSet;    //是否需要器械消毒登记
    private Integer invsRoomSet;    //是否需要场所空气消毒登记
    private Integer invsWasteSet;    //是否需要医废登记

    private String institutionTypeFirst;
    private String institutionTypeSecond;
    private String institutionAttr;

    /**
     * 是否为试用期
     *
     * @return
     */
    public boolean isTryoutPeriod() {
        return this.type != null && this.type == 0;
    }

    /**
     * 是否为医疗结构
     *
     * @return
     */
    public boolean isMedicalInstitution() {
        if (institutionType != null) {
            return InstitutionTypeUtil.getMedicalInstitutionId().contains(institutionType);
        } else {
            return true;
        }
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public Integer getProvince() {
        return province;
    }

    public void setProvince(Integer province) {
        this.province = province;
    }

    public Integer getCity() {
        return city;
    }

    public void setCity(Integer city) {
        this.city = city;
    }

    public Integer getCounty() {
        return county;
    }

    public void setCounty(Integer county) {
        this.county = county;
    }

    public Object getNullCounty() {
        return nullCounty;
    }

    public void setNullCounty(Object nullCounty) {
        this.nullCounty = nullCounty;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getDataIsolation() {
        return dataIsolation;
    }

    public void setDataIsolation(Integer dataIsolation) {
        this.dataIsolation = dataIsolation;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getInstitutionType() {
        return institutionType;
    }

    public void setInstitutionType(Integer institutionType) {
        this.institutionType = institutionType;
    }

    public Integer getInstitutionProp() {
        return institutionProp;
    }

    public void setInstitutionProp(Integer institutionProp) {
        this.institutionProp = institutionProp;
    }

    public String getBusinessLicence() {
        return businessLicence;
    }

    public void setBusinessLicence(String businessLicence) {
        this.businessLicence = businessLicence;
    }

    public Integer getMedicalInsuranceFixedPoint() {
        return medicalInsuranceFixedPoint;
    }

    public void setMedicalInsuranceFixedPoint(Integer medicalInsuranceFixedPoint) {
        this.medicalInsuranceFixedPoint = medicalInsuranceFixedPoint;
    }

    public Integer getExamineVerifySt() {
        return examineVerifySt;
    }

    public void setExamineVerifySt(Integer examineVerifySt) {
        this.examineVerifySt = examineVerifySt;
    }

    public Date getExamineVerifyTm() {
        return examineVerifyTm;
    }

    public void setExamineVerifyTm(Date examineVerifyTm) {
        this.examineVerifyTm = examineVerifyTm;
    }

    public String getExamineVerifyComment() {
        return examineVerifyComment;
    }

    public void setExamineVerifyComment(String examineVerifyComment) {
        this.examineVerifyComment = examineVerifyComment;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    public String getOwnerIdCd() {
        return ownerIdCd;
    }

    public void setOwnerIdCd(String ownerIdCd) {
        this.ownerIdCd = ownerIdCd;
    }

    public String getBusinessLicenceCd() {
        return businessLicenceCd;
    }

    public void setBusinessLicenceCd(String businessLicenceCd) {
        this.businessLicenceCd = businessLicenceCd;
    }

    public String getOccupationalLicence() {
        return occupationalLicence;
    }

    public void setOccupationalLicence(String occupationalLicence) {
        this.occupationalLicence = occupationalLicence;
    }

    public String getOccupationalLicenceCd() {
        return occupationalLicenceCd;
    }

    public void setOccupationalLicenceCd(String occupationalLicenceCd) {
        this.occupationalLicenceCd = occupationalLicenceCd;
    }

    public Integer getTestApplySt() {
        return testApplySt;
    }

    public void setTestApplySt(Integer testApplySt) {
        this.testApplySt = testApplySt;
    }

    public Date getTestApplyTm() {
        return testApplyTm;
    }

    public void setTestApplyTm(Date testApplyTm) {
        this.testApplyTm = testApplyTm;
    }

    public String getTestApplyComment() {
        return testApplyComment;
    }

    public void setTestApplyComment(String testApplyComment) {
        this.testApplyComment = testApplyComment;
    }

    //	public String getMode() {
//		return mode;
//	}
//	public void setMode(String mode) {
//		this.mode = mode;
//	}
    public Integer getImagingApplyOpendSt() {
        return imagingApplyOpendSt;
    }

    public void setImagingApplyOpendSt(Integer imagingApplyOpendSt) {
        this.imagingApplyOpendSt = imagingApplyOpendSt;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getNavAddress() {
        return navAddress;
    }

    public void setNavAddress(String navAddress) {
        this.navAddress = navAddress;
    }

    public Integer getRegisterDoctorId() {
        return registerDoctorId;
    }

    public void setRegisterDoctorId(Integer registerDoctorId) {
        this.registerDoctorId = registerDoctorId;
    }

    public Date getCreateTm() {
        return createTm;
    }

    public void setCreateTm(Date createTm) {
        this.createTm = createTm;
    }

    public String getProvinceYbArea() {
        return provinceYbArea;
    }

    public void setProvinceYbArea(String provinceYbArea) {
        this.provinceYbArea = provinceYbArea;
    }

    public String getProvinceYbHospitalNb() {
        return provinceYbHospitalNb;
    }

    public void setProvinceYbHospitalNb(String provinceYbHospitalNb) {
        this.provinceYbHospitalNb = provinceYbHospitalNb;
    }

    public String getCityYbArea() {
        return cityYbArea;
    }

    public void setCityYbArea(String cityYbArea) {
        this.cityYbArea = cityYbArea;
    }

    public String getCityYbHospitalNb() {
        return cityYbHospitalNb;
    }

    public void setCityYbHospitalNb(String cityYbHospitalNb) {
        this.cityYbHospitalNb = cityYbHospitalNb;
    }

    public Integer getUnderInvs() {
        return underInvs;
    }

    public void setUnderInvs(Integer underInvs) {
        this.underInvs = underInvs;
    }

    public Integer getUnderMs() {
        return underMs;
    }

    public void setUnderMs(Integer underMs) {
        this.underMs = underMs;
    }

    public Integer getAuditHint() {
        return auditHint;
    }

    public void setAuditHint(Integer auditHint) {
        this.auditHint = auditHint;
    }

    public String getTechnicalOffices() {
        return technicalOffices;
    }

    public void setTechnicalOffices(String technicalOffices) {
        this.technicalOffices = technicalOffices;
    }

    public Integer getInvsTimeSet() {
        return invsTimeSet;
    }

    public void setInvsTimeSet(Integer invsTimeSet) {
        this.invsTimeSet = invsTimeSet;
    }

    public Date getOccupationalLicenceStartDate() {
        return occupationalLicenceStartDate;
    }

    public void setOccupationalLicenceStartDate(Date occupationalLicenceStartDate) {
        this.occupationalLicenceStartDate = occupationalLicenceStartDate;
    }

    public Date getOccupationalLicenceEndDate() {
        return occupationalLicenceEndDate;
    }

    public void setOccupationalLicenceEndDate(Date occupationalLicenceEndDate) {
        this.occupationalLicenceEndDate = occupationalLicenceEndDate;
    }

    public Integer getPaySt() {
        return paySt;
    }

    public void setPaySt(Integer paySt) {
        this.paySt = paySt;
    }

    public Date getPayTm() {
        return payTm;
    }

    public void setPayTm(Date payTm) {
        this.payTm = payTm;
    }

    public String getInstitutionTypeFirst() {
        return institutionTypeFirst;
    }

    public void setInstitutionTypeFirst(String institutionTypeFirst) {
        this.institutionTypeFirst = institutionTypeFirst;
    }

    public String getInstitutionTypeSecond() {
        return institutionTypeSecond;
    }

    public void setInstitutionTypeSecond(String institutionTypeSecond) {
        this.institutionTypeSecond = institutionTypeSecond;
    }

    public String getInstitutionAttr() {
        return institutionAttr;
    }

    public void setInstitutionAttr(String institutionAttr) {
        this.institutionAttr = institutionAttr;
    }

    @Override
    public String toString() {
        return "DtHealthManageInstitutionEntity [id=" + id + ", name=" + name + ", shortName=" + shortName
                + ", province=" + province + ", city=" + city + ", county=" + county + ", nullCounty=" + nullCounty
                + ", address=" + address + ", navAddress=" + navAddress + ", dataIsolation=" + dataIsolation + ", type="
                + type + ", institutionType=" + institutionType + ", institutionProp=" + institutionProp
                + ", businessLicence=" + businessLicence + ", medicalInsuranceFixedPoint=" + medicalInsuranceFixedPoint
                + ", examineVerifySt=" + examineVerifySt + ", examineVerifyTm=" + examineVerifyTm
                + ", examineVerifyComment=" + examineVerifyComment + ", testApplySt=" + testApplySt + ", testApplyTm="
                + testApplyTm + ", testApplyComment=" + testApplyComment + ", imagingApplyOpendSt="
                + imagingApplyOpendSt + ", tel=" + tel + ", ownerName=" + ownerName + ", ownerId=" + ownerId
                + ", ownerIdCd=" + ownerIdCd + ", businessLicenceCd=" + businessLicenceCd + ", occupationalLicence="
                + occupationalLicence + ", occupationalLicenceCd=" + occupationalLicenceCd + ", position=" + position
                + ", provinceYbArea=" + provinceYbArea + ", provinceYbHospitalNb=" + provinceYbHospitalNb
                + ", cityYbArea=" + cityYbArea + ", cityYbHospitalNb=" + cityYbHospitalNb + ", registerDoctorId="
                + registerDoctorId + ", underInvs=" + underInvs + ", auditHint=" + auditHint + ", technicalOffices="
                + technicalOffices + ", invsTimeSet=" + invsTimeSet + ", occupationalLicenceStartDate="
                + occupationalLicenceStartDate + ", occupationalLicenceEndDate=" + occupationalLicenceEndDate
                + ", paySt=" + paySt + ", payTm=" + payTm + ", createTm=" + createTm + ",institutionTypeFirst=" + institutionTypeFirst
                + ",institutionTypeSecond=" + institutionTypeSecond + ",institutionAttr=" + institutionAttr + "]";
    }

    public String getHospitalInsuranceRegion() {
        return hospitalInsuranceRegion;
    }

    public void setHospitalInsuranceRegion(String hospitalInsuranceRegion) {
        this.hospitalInsuranceRegion = hospitalInsuranceRegion;
    }

    public String getCityYbAreaSub() {
        return cityYbAreaSub;
    }

    public void setCityYbAreaSub(String cityYbAreaSub) {
        this.cityYbAreaSub = cityYbAreaSub;
    }

    public Integer getRegulatoryCode() {
        return regulatoryCode;
    }

    public void setRegulatoryCode(Integer regulatoryCode) {
        this.regulatoryCode = regulatoryCode;
    }

    public String getYbIp() {
        return ybIp;
    }

    public void setYbIp(String ybIp) {
        this.ybIp = ybIp;
    }

    public Integer getInvsUnit() {
        return invsUnit;
    }

    public void setInvsUnit(Integer invsUnit) {
        this.invsUnit = invsUnit;
    }

    public Integer getInvsDisinfectantSet() {
        return invsDisinfectantSet;
    }

    public void setInvsDisinfectantSet(Integer invsDisinfectantSet) {
        this.invsDisinfectantSet = invsDisinfectantSet;
    }

    public Integer getInvsInstrumentSet() {
        return invsInstrumentSet;
    }

    public void setInvsInstrumentSet(Integer invsInstrumentSet) {
        this.invsInstrumentSet = invsInstrumentSet;
    }

    public Integer getInvsRoomSet() {
        return invsRoomSet;
    }

    public void setInvsRoomSet(Integer invsRoomSet) {
        this.invsRoomSet = invsRoomSet;
    }

    public Integer getInvsWasteSet() {
        return invsWasteSet;
    }

    public void setInvsWasteSet(Integer invsWasteSet) {
        this.invsWasteSet = invsWasteSet;
    }

    public String getAddressTxt() {
        return addressTxt;
    }

    public void setAddressTxt(String addressTxt) {
        this.addressTxt = addressTxt;
    }

    public Integer getFaceLogin() {
        return faceLogin;
    }

    public void setFaceLogin(Integer faceLogin) {
        this.faceLogin = faceLogin;
    }

    public Integer getUploadInvs() {
        return uploadInvs;
    }

    public void setUploadInvs(Integer uploadInvs) {
        this.uploadInvs = uploadInvs;
    }
}